?? date2.pm
字號(hào):
#!/usr/bin/perl
# Fig 14.20: Date2.pm
# Implementation of autoloaded date2 class.
package Date2;
use strict;
use warnings;
my @months = ( 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
sub new
{
my $object = shift();
my $class = ref( $object ) || $object;
my $date = { year => 1000,
month => 1,
day => 1, };
bless( $date, $class );
return $date;
}
sub AUTOLOAD
{
my $object = shift();
my $type = ref( $object ) ||
die( "$object is not an object" );
my $name = $Date2::AUTOLOAD;
$name =~ s/.*://;
exit() if ( $name eq 'DESTROY' );
unless ( exists( $object->{ $name } ) ) {
die( "Cannot access '$name' field of class $type" );
}
if ( @_ ) {
return $object->{ $name } = shift();
}
else {
return $object->{ $name };
}
}
sub setDate
{
if ( @_ == 4 ) {
my $object = shift();
$object->year( $_[ 0 ] );
$object->month( $_[ 1 ] );
$object->day( $_[ 2 ] );
}
else {
print( "the .\n" );
}
}
sub print
{
my $object = shift();
print( $object->month );
print( "/" );
print( $object->day );
print( "/" );
print( $object->year );
}
return 1;
###########################################################################
# (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. #
###########################################################################
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -