fig13_18.pl

来自「PERL语言资料 可以用于PERL程序设计」· PL 代码 · 共 50 行

PL
50
字号
#!/usr/bin/perl
# Figure 13.18: fig13_18.pl
# Passing filehandles to functions

use warnings;
use strict;

my $file = shift( @ARGV );
open( FILE, $file ) or die( "Error opening $file: $!" );
my $filehandle = *FILE;
readhandle( $filehandle );
close( FILE ) or die( "Error closing $file: $!" );

print( "\n\nNow a 2nd time...\n" );
open( FILE, $file ) or die( "Error opening $file: $!" );
$filehandle = \*FILE;
readhandle( $filehandle );
close( FILE ) or die( "Error closing $file: $!" );

print( "\n\nAnd finally...\n" );
readfile( $file );

sub readhandle
{
   my $fh = shift();
   print while ( <$fh> );
}

sub readfile
{
   my $file = shift();
   local *FILE;
   open( FILE, $file ) or die( "Error opening $file: $!" );
   print while ( <FILE> );
}

###########################################################################
#  (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall.     #
#  All Rights Reserved.                                                   #
#                                                                         #
#  DISCLAIMER: The authors and publisher of this book have used their     #
#  best efforts in preparing the book. These efforts include the          #
#  development, research, and testing of the theories and programs        #
#  to determine their effectiveness. The authors and publisher make       #
#  no warranty of any kind, expressed or implied, with regard to these    #
#  programs or to the documentation contained in these books. The authors #
#  and publisher shall not be liable in any event for incidental or       #
#  consequential damages in connection with, or arising out of, the       #
#  furnishing, performance, or use of these programs.                     #
###########################################################################

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?