📄 pasn1.pl
字号:
#!/usr/bin/perl -w#################################################### package to parse ASN.1 files and generate code for# LDAP functions in Samba# Copyright tridge@samba.org 2002-2003# Copyright metze@samba.org 2004# released under the GNU GPLuse strict;use FindBin qw($RealBin);use lib "$RealBin";use lib "$RealBin/lib";use Getopt::Long;use File::Basename;use asn1;use util;my($opt_help) = 0;my($opt_output);my $asn1_parser = new asn1;###################################################################### parse an ASN.1 file returning a structure containing all the datasub ASN1Parse($){ my $filename = shift; my $asn1 = $asn1_parser->parse_asn1($filename); util::CleanData($asn1); return $asn1;}########################################## display help textsub ShowHelp(){ print " perl ASN.1 parser and code generator Copyright (C) tridge\@samba.org Copyright (C) metze\@samba.org Usage: pasn1.pl [options] <asn1file> Options: --help this help page --output OUTNAME put output in OUTNAME \n"; exit(0);}# main programGetOptions ( 'help|h|?' => \$opt_help, 'output|o=s' => \$opt_output, );if ($opt_help) { ShowHelp(); exit(0);}sub process_file($){ my $input_file = shift; my $output_file; my $pasn1; my $basename = basename($input_file, ".asn1"); if (!defined($opt_output)) { $output_file = util::ChangeExtension($input_file, ".pasn1"); } else { $output_file = $opt_output; }# if (file is .pasn1) {# $pasn1 = util::LoadStructure($pasn1_file);# defined $pasn1 || die "Failed to load $pasn1_file - maybe you need --parse\n";# } else { $pasn1 = ASN1Parse($input_file); defined $pasn1 || die "Failed to parse $input_file"; util::SaveStructure($output_file, $pasn1) || die "Failed to save $output_file\n"; #}}foreach my $filename (@ARGV) { process_file($filename);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -